package net.zjitc.summary.user;

import java.util.ArrayList;

/**
 * @Author admin
 * @Date 2019/4/16 14:17
 * 工具类的具体实现类，用集合方式
 * 具体用哪个集合：ArrayList（）
 */
public class UserDaoSet implements UserDao {
    ArrayList<User> arrayList = new ArrayList<User>();

    /**
     * 注册功能：将传入的user对象保存
     *
     * @param user
     */
    @Override
    public void register(User user) {
        /*首先判断集合中是否存在该用户名user.getName（）
         *  若存在，提示用户名重复
         *  若不存在，将用户user保存在集合中*/
        User u= select(user.getName());
        if (u==null) {
            System.out.println("注册失败，用户名重复了！");
        } else {
            System.out.println("注册成功！");
        }
    }

    /**
     * 判断集合中是否存在name
     * 若存在，返回该对象
     * 若不存在，返回null
     *
     * @param name
     * @return
     */
    private User select(String name) {
        for (int i = 0; i < arrayList.size(); i++) {
            if (arrayList.get(i).getName().equals(name)) {
                return arrayList.get(i);
            }
        }
        return null;
    }

    /**
     * 登陆功能：将传入的用户名和密码与已有的比较
     * 若存在，则返回用户对象
     * 若不存在，则返回null
     *
     * @param name
     * @param password
     * @return
     */
    @Override
    public User login(String name, String password) {
        for (int i = 0; i < arrayList.size(); i++) {
            if (arrayList.get(i).getName().equals(name) && arrayList.get(i).getName().equals(password)) {
                return arrayList.get(i);
            }
        }
        return null;
    }

    @Override
    public void selectAll() {
        for (int i = 0; i < arrayList.size(); i++) {
            User user = arrayList.get(i);
            System.out.println(user);
        }
    }

    @Override
    public void delete(String name) {
        /*先判断是否存在，
         * 若存在，则删除
         * 否则，提示不存在*/
        User user=select(name);
        if (user==null){
            System.out.println("您要删除的用户不存在");
        }else {
            arrayList.remove(user);
        }
    }
}
